<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>向未声明的JavaScript变量分配值</title>
</head>

<body>
    <p>如果您把值赋给尚未声明的变量，该变量将被自动作为 window 的一个属性。</p>
    <p>这条语句：</p>
    <pre>
        carname = "Volvo";
    </pre>
    <p>将声明 window 的一个属性 carname。</p>
    <p>非严格模式下给未声明变量赋值创建的全局变量，是全局对象的可配置属性，可以删除。</p>
    <script>
        var var1 = 1;   // 不可配置全局属性
        var2 = 2;   // 没有使用var声明，可配置全局属性。

        console.log(this.var1); // 1
        console.log(window.var1);   // 1
        console.log(window.var2);   // 2

        delete var1;    // false 无法删除
        console.log(var1);  // 1

        delete var2;
        console.log(delete var2);   // true
        console.log(var2);  // 已经删除 报错变量未定义
    </script>
</body>

</html>